package cn.edu.ptu.jobfairs.web;

import cn.edu.ptu.jobfairs.basic.bo.Resume;
import cn.edu.ptu.jobfairs.basic.bo.ResumeEvaluate;
import cn.edu.ptu.jobfairs.basic.common.Result;
import cn.edu.ptu.jobfairs.basic.dto.request.IdDTO;
import cn.edu.ptu.jobfairs.basic.dto.request.QueryDTO;
import cn.edu.ptu.jobfairs.basic.dto.request.ResumeQueryDTO;
import cn.edu.ptu.jobfairs.basic.dto.request.ResumeStatusDTO;
import cn.edu.ptu.jobfairs.services.ResumeEvaluateService;
import cn.edu.ptu.jobfairs.services.ResumeService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author wutingting.226@163.com
 * @date 2020/8/29
 */
@RestController
@RequestMapping("/r")
public class ResumeController {
    @Resource
    private ResumeService resumeService;

    @PostMapping("/add")
    public Result add(Resume resume) {
        return resumeService.addResume(resume);
    }

    @PostMapping("/add2")
    public Result add2(@RequestBody List<Resume> resumes) {
        System.out.println(resumes.size());
        return Result.OK;
    }

    @PostMapping("/edit")
    public Result edit(Resume resume) {
        return resumeService.editResume(resume);
    }

    @PostMapping("/del")
    public Result del(IdDTO idDTO) {
        return resumeService.delResume(idDTO);
    }

    @PostMapping("/list1")
    public Result list1(ResumeQueryDTO resumeQueryDTO) {
        return resumeService.listResumes(resumeQueryDTO);
    }

    @PostMapping("/list2")
    public Result list2(ResumeQueryDTO resumeQueryDTO) {
        return resumeService.listNotEvaluatedResumes(resumeQueryDTO);
    }

    @PostMapping("/list3")
    public Result list3(IdDTO idDTO) {
        return resumeService.listByInterviewId(idDTO);
    }

    @PostMapping("/export")
    public Result export(ResumeQueryDTO resumeQueryDTO) {
        return resumeService.exportResumes(resumeQueryDTO);
    }

    @PostMapping("/content")
    public Result content(IdDTO idDTO) {
        return resumeService.resumeContent(idDTO);
    }

    @PostMapping("/detail")
    public Result detail(IdDTO idDTO) {
        return resumeService.resumeDetails(idDTO);
    }

    @PostMapping("/cs")
    public Result changeStatus(ResumeStatusDTO resumeStatusDTO) {
        return resumeService.changeStatus(resumeStatusDTO);
    }

    @PostMapping("/s")
    public Result statistics(QueryDTO queryDTO) {
        return resumeService.statistics(queryDTO);
    }
}
